<?php

namespace App\Http\Controllers\Edu;

use App\Models\EduTopic;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class StoreController extends Controller
{
    //这里之所以不使用依赖注入的方式,是因为多态关联收藏表中我可以收藏帖子对象,也可以收藏视频对象,所以不能依赖注入写死那样使用多态关联就没有意义了
    function store($model,$id){
//        dd([$model,$id]);
        //获取模型对象类的"完全限定名称"
        $class = 'App\Models\\'.$model;
        //获取要收藏的模型对象
        $model = $class::find($id);
        //同一个用户只能给同一个文章点赞一次
        //通过$model->store()方法可以返回一个多态关联对象,通过这个morphMary对象可以获取$model的所有收藏数据,由于一个用户只能收藏一次,所以从里面获取user_id 是当前登陆用户id的记录就可以了
        $store =  $model->store()->where('user_id',auth()->id())->first();
        //在$model帖子的所有收藏数据中查找看当前用户是否收藏过,如果没有查到记录就返回null,查到就取第一条收藏数据对象返回
        $store ? $store->delete() : $model->store()->create(['user_id'=>auth()->id()]);
        //调用相应模型对象中的store()方法,通过多态关联的方式向相应收藏表中添加数据
        return back()->with('success','操作成功');
    }
}
